Cloud computing systems such as distributed computing frameworks, storage systems, lock services, and cluster managers are the backbone engines of many software based applications. Cloud computing systems typically include many nodes physically distributed and connected via a network, e.g., the Internet. The nodes store, manage, and process data. Groups of nodes are often referred to as clusters. The complexities and intricacies of the cloud computing systems make them difficult to manage. One issue is the problem of distributed concurrency (DC) bugs which are caused by concurrent distributed events occurring in a nondeterministic order. DC bugs can cause harmful consequences in cloud computing systems including system crashes, failed jobs, node/cluster unavailability, data loss, and data inconsistency. For example, a cloud computing system is configured to transmit messages A, B, and C to or from one of nodes 1, 2, and 3. The messages are transmitted in response to completion of a task or operation at the node that transmits the message. When node 2 receives message A, node 3 receives message B, and then node 2 receives message C from node 3, the system functions as expected. When the ordering of the messages is changed, e.g., node 3 receives message B and then transmits message C to node 2 prior to node 2 receiving message A from node 1, a failure will happen at node 2. A DC bug has occurred by changing the order of the messages received at node 2.